Repository navigation
4112 - OpenCTI VS Connectors - #1597
jayjaybunce wants to merge 14 commits into
Conversation
There was a problem hiding this comment.
Be sure to fill out Description and Motivation and context.
Found one medium issue in open-cti/connectors/vs-vulnscan-enrichment/src/connector.py:102-118: note_ids state is persisted before send_stix2_bundle() succeeds. If the send fails, a retry can reuse an ID for an object that was never created, preventing successful re-enrichment. Please persist the state only after a successful bundle submission and add a regression test for the failed-send/retry path. I recommend holding approval until this is addressed.
Working on a fix now. Thanks for the suggestion |
rapidray12
left a comment
There was a problem hiding this comment.
LGTM. Reviewed in a group call
🗣 Description
This PR includes code and docker configuration for the building and operation of four VS Connectors for the running OpenCTI Platform in CAWS Staging.
VS Org Ingest Connector
This connector is an External Import connector, the connector pulls VS Organization data, CIDR data, and sector data from the RDS DB and creates a number of OpenCTI objects. OpenCTI entities are created to cover sectors and organizations as their respective names, CIDR data is broken down into the IP's within each CIDR range and these IP's are created as IPv4 Observables in OpenCTI. All three data entities are also linked together to ensure ownership is maintained.
VS Ticket Ingest Connector
This connector is also an External Import connector and pulls Ticket data from the VS data stored in the RDS DB. These tickets are broken down into IPv4 Observables and Vulnerabilities. The IPv4 Observables are linked to the correct organization.
VS Port Ingest Connector
This is the final External Import connector, and simply pulls from the latest_port_scan table, creating Observable IPv4 entities, Observable Network Traffic entities.
*The Network Traffic entity is restrictive and custom fields such as open, closed, service cannot be added. The VS data contains these fields and we should revisit this issue in the future to ensure we surface the same fields and capabilities with this data in OpenCTI.
VS VulnScan Connector
This connector is an Internal Enrichment connector and must be run manually over an Observable, a selection of Observables or a vulnerability. This connector essentially adds notes to the entity it performs enrichment on, including vuln scanning details such as open ports, additional vulnerability details and the like.
Each connector is isolated from the others and includes a dockerfile for building its container.
💭 Motivation and context
Resolves CRASM-4112
🧪 Testing
✅ Pre-approval checklist
bump_versionscript if this repository is versioned and the changes in this PR warrant a version bump.✅ Pre-merge checklist
✅ Post-merge checklist